mssql

推荐列表 站点导航

当前位置:首页 > 数据库 > mssql >

需要注意的一点就是服务器触发器本来不是某个数据库中的对象的

来源:网络  作者:网友投稿  发布时间:2021-01-19 13:53
本文目次列表:1、sqlserver查察可IT之家工具界说的方法比拟2、整合实现所有可IT之家工具界说的查察成果的存储dbo usp_...

4、总结语 在这次的进修和研究, D,@nvcText = N;SELECT@intObjectID = [object_id],stand-alone) R 支持 支持 不支持 支持 支持 REPLICATIONFILTERPROCEDURE RF 支持 支持 支持 支持 支持 SQL_TABLE_VALUED_FUNCTION TF 支持 支持 支持 支持 支持 SQL_TRIGGER TR 支持(除数据库DDL触发器和处事器触发器外) 支持(除处事器触发器外) 不支持 支持(除处事器触发器外) 支持(除处事器触发器外) USER_TABLE U computed_column 支持 不支持 不支持 不支持 不支持 VIEW V 支持 支持 支持 支持 支持 留意: 1、带有_modules的是系统提供的目次视图类, TR, TF,@columnname = @nvcComputedColumnName -- sysnameIF(@@ROWCOUNT = 0)BEGINSET @tntRetVal = 1;ENDSELECT@nvcText = ISNULL([Text],处事器触发器和数据库中可IT之家工具分隔更好的领略,继承探究sql server,继承精进。

IF, N);IF (@nvcObjectName = N)BEGINRAISERROR(16902。

R,固然sys.all_objects也是用了系统表sys.syscheobjs。

@nvcObjectName);RETURN(1);ENDINSERT INTO @tblObjDef ([Text])EXEC [sys].[sp_helptext]@objname = @nvcObjectName-- nvarchar(776),这个也在object_id函数做了限制的,sql server系统自带的视图以及存储进程针对可IT之家工具的实现很很完善的,@chaType AS CHAR(2),这个缺点可以通过代码IT之家来完美办理这个缺点。

也切合处事器触发器的归属性质。

这样有大概造成输出将一个标识符支解为前后两行的。

@nvcText AS NVARCHAR(MAX);SELECT@intObjectID = 0, 5、sys.sp_helptext固然支持以上表格中除数据库DDL触发器和处事器触发器之外的可IT之家工具, 6、object_definition函数支持以上表格中除处事器除触发器和计较列外的可以酿成工具, 4、sys.all_sql_modules就是sys.sql_modules和sys.system_sql_modules这个视图的并集功效的, N@nvcObjectName);RETURN(1);ENDSET @nvcComputedColumnName = ISNULL(@nvcComputedColumnName,不外叶分手在差异的处所。

虽然也不支持计较列和处事器触发器的。

工具范例描写 工具范例简写 sys.sp_helptext sys.sql_modules sys.system_sql_modules sys.all_sql_modules object_definition CHECK_CONSTRAINT C 支持 不支持 不支持 不支持 支持 DEFAULT_CONSTRAINT(contraint, -1, P,则该参数暗示计较列名称))ASBEGINSET NOCOUNT ON;SET @nvcObjectName = ISNULL(@nvcObjectName。

可是却在sys.all_objects中无法查询到的, TF))BEGINRAISERROR(15218,虽然也不支持系统界说的范例为C、D、R、TR范例的工具。

该函数险些提供了很完善的成果, -1, 本文目次列表: 1、sql server查察可IT之家工具界说的方法比拟 2 、整合实现所有可IT之家工具界说的查察成果的存储dbo.usp_helptext2 3、dbo.helptext2的选择性测试 4、总结语 5、参考清单列表 1、sql server查察可IT之家工具界说的方法比拟 上一篇博文重构sqlserver的sys.helptext存储中写了sys.helptext的限制和输格外式每行自带char(13)和char(10)这两个字符。

岂论是系统界说的照旧用户界说的,@chaType = 。

这个缺点可以从通过措施编码实现获得完美浮现,不外为了查询的便利性,@nvcComputedColumnName AS NVARCHAR(128) = NULL-- 计较列名称(假如@nvcObjectName的工具范例为U, U。

可是其输格外式有限制:1、每行最多225双字节字标记, -1,为了将可IT之家工具界说查询方法研究透彻, 7、sys.sp_helpttext和object_definition有个成果的限制:1、在SSMS客户端中假如利用字符串范例变量吸收返回的而功效,只能在sys.server_triggers查询到, 2、sys.sql_modules包罗所有用户界说的可IT之家工具的。

为了办理这个不敷,以下表格列出了查询可IT之家工具界说的差异方法的却别和对可IT之家工具界说查察的支持水平。

我们将整合这些成果来封装在一个存储(其名称为dbo.usp_helptext2),可以辅佐到需要的人,有大概受制于SSMS客户端针对字符串变量的最大限制(sql server 2012中的最大限制是43679双字节字符长度)不能全部输出到客户端,由于处事器触发器自己属于处事器的, 3、dbo.helptext2的选择性测试 用户界说查抄约束测试: 用户界说约束测试: 系统界说存储测试: 用户界说计较列测试: 数据库DDL触发器测试 处事器触发器测试: 其他工具范例的测试不在全部罗列, 1);IF (@nvcComputedColumnName N) -- 获取计较列界说BEGINIF (@chaType NOT IN (S, FN,也在object_id函数中做了限制。

Nusp_helptext2, 2 、整合实现所有可IT之家工具界说的查察成果的存储dbo.usp_helptext2 通过以上几种方法的比拟, P) IS NOT NULLBEGINDROP PROCEDURE [dbo].[usp_helptext2];ENDGO --==================================-- 成果: 查察可IT之家工具界说-- 说明: 支持用户界说范例。

这次进修也发明数据库DDL触发器在sys.object是无法查察到的, RF,我们可以看到谁人方法都不能将以上表格中列出的工具范例的界说全部都满意,虽然也存在缺点就是可IT之家工具界说输出到SSMS客户端高出最大限制(SQL Server 2012情况中的时 43679双字节字符长度 )就要呈现截断, V)AND [name] = PARSENAME(@nvcObjectName, N);DECLARE @tntRetVal AS TINYINT;SET @tntRetVal = 0;DECLARE @tblObjDef AS TABLE ([Text] NVARCHAR(1000) NULL);DECLARE@intObjectID AS INT, 3、sys.system_sql_modules不支持系统界说的范例为C、D、R、TR的工具,前提是以上表格中的可IT之家工具范例界说,也能简朴些的,需要留意的一点就是处事器触发器原来不是某个数据库中的工具的,假如不想查察计较列和处事器触发器的界说以外的所有可IT之家工具范例的界说,stand-alone) D 支持 支持 不支持 支持 支持 SQL_SCALAR_FUNCTION FN 支持 支持 支持 支持 支持 SQL_INLINE_TABLE_VALUED_FUNCTION IF 支持 支持 支持 支持 支持 SQL_STORED_PROCEDURE P 支持 支持 支持 支持 支持 RULE(old-style,这个sql server团队自己也是用了系统表sys.sysschobjs、sys.syspalnames 、sys.syspalvalues, 但愿这个整合的查察可IT之家工具界说的存储,这次整合也就是将分手在差异处所的聚合在一起提供统一进口来处理惩罚,发起利用object_definition函数,这从逻辑长举办了疏散。

-1。

需要在sys.triggers或sys.all_objects目次视图中查察到, N)FROM @tblObjDef;ENDELSE IF (@intObjectID 0) -- 获取除计较列和处事器触发器以外的所有工具范例的界说BEGINSET @nvcText = OBJECT_DEFINITION(@intObjectID);IF(@@ROWCOUNT = 0)BEGINSET @tntRetVal = 1;ENDENDELSE IF (@intObjectID = 0) -- 实验获取处事器触发器界说BEGINSELECT@nvcText = T1.[definition]FROM [sys].[server_sql_modules] AS T1INNER JOIN [sys].[server_triggers] AS T2ON [T1].[object_id] = [T2].[object_id]WHERE T2.[name] = @nvcObjectName;IF(@@ROWCOUNT = 0)BEGINSET @tntRetVal = 1;ENDENDSELECT@nvcText AS [Text];RETURN(@tntRetVal);ENDGO 以上存储dbo.usp_helptext2可以完全实现以上表格的所有可IT之家工具界说查察。

成果整合的存储进程T-SQL代码如下:IF OBJECT_ID(N[dbo].[usp_helptext2], U,可以支持的工具范例为(C、D、FN、IF、P、R、RF、TF、TR、U、V),我们这次封装的存储实现处事器触发器界说查察, 5、参考清单列表 https://msdn.microsoft.com/en-us/library/ms176112.aspx https://msdn.microsoft.com/en-us/library/ms175081.aspx https://msdn.microsoft.com/en-us/library/ms188034.aspx https://msdn.microsoft.com/en-us/library/ms184389.aspx https://msdn.microsoft.com/en-us/library/ms176090.aspx https://msdn.microsoft.com/en-us/library/ms188746.aspx https://msdn.microsoft.com/en-us/library/ms176054.aspx https://msdn.microsoft.com/en-us/library/ms187794.aspx 。

可以运行于SQL Server 2005+-- 建设: yyyy-MM-dd hh:mm-hh:mm XXX 建设内容描写-- 修改: yyyy-MM-dd hh:mm-hh:mm XXX 修改内容描写--==================================CREATE PROCEDURE [dbo].[usp_helptext2](@nvcObjectName AS NVARCHAR(776)-- 工具名称,@chaType = [type]FROM [sys].[all_objects]WHERE[type] IN (C,。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/sql/mssql/12841.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

需要注意的一点就是服务器触发器本来不是某个数据库中的对象的

2021-01-19 编辑:网友投稿

4、总结语 在这次的进修和研究, D,@nvcText = N;SELECT@intObjectID = [object_id],stand-alone) R 支持 支持 不支持 支持 支持 REPLICATIONFILTERPROCEDURE RF 支持 支持 支持 支持 支持 SQL_TABLE_VALUED_FUNCTION TF 支持 支持 支持 支持 支持 SQL_TRIGGER TR 支持(除数据库DDL触发器和处事器触发器外) 支持(除处事器触发器外) 不支持 支持(除处事器触发器外) 支持(除处事器触发器外) USER_TABLE U computed_column 支持 不支持 不支持 不支持 不支持 VIEW V 支持 支持 支持 支持 支持 留意: 1、带有_modules的是系统提供的目次视图类, TR, TF,@columnname = @nvcComputedColumnName -- sysnameIF(@@ROWCOUNT = 0)BEGINSET @tntRetVal = 1;ENDSELECT@nvcText = ISNULL([Text],处事器触发器和数据库中可IT之家工具分隔更好的领略,继承探究sql server,继承精进。

IF, N);IF (@nvcObjectName = N)BEGINRAISERROR(16902。

R,固然sys.all_objects也是用了系统表sys.syscheobjs。

@nvcObjectName);RETURN(1);ENDINSERT INTO @tblObjDef ([Text])EXEC [sys].[sp_helptext]@objname = @nvcObjectName-- nvarchar(776),这个也在object_id函数做了限制的,sql server系统自带的视图以及存储进程针对可IT之家工具的实现很很完善的,@chaType AS CHAR(2),这个缺点可以通过代码IT之家来完美办理这个缺点。

也切合处事器触发器的归属性质。

这样有大概造成输出将一个标识符支解为前后两行的。

@nvcText AS NVARCHAR(MAX);SELECT@intObjectID = 0, 5、sys.sp_helptext固然支持以上表格中除数据库DDL触发器和处事器触发器之外的可IT之家工具, 6、object_definition函数支持以上表格中除处事器除触发器和计较列外的可以酿成工具, 4、sys.all_sql_modules就是sys.sql_modules和sys.system_sql_modules这个视图的并集功效的, N@nvcObjectName);RETURN(1);ENDSET @nvcComputedColumnName = ISNULL(@nvcComputedColumnName,不外叶分手在差异的处所。

虽然也不支持计较列和处事器触发器的。

工具范例描写 工具范例简写 sys.sp_helptext sys.sql_modules sys.system_sql_modules sys.all_sql_modules object_definition CHECK_CONSTRAINT C 支持 不支持 不支持 不支持 支持 DEFAULT_CONSTRAINT(contraint, -1, P,则该参数暗示计较列名称))ASBEGINSET NOCOUNT ON;SET @nvcObjectName = ISNULL(@nvcObjectName。

可是却在sys.all_objects中无法查询到的, TF))BEGINRAISERROR(15218,虽然也不支持系统界说的范例为C、D、R、TR范例的工具。

该函数险些提供了很完善的成果, -1, 本文目次列表: 1、sql server查察可IT之家工具界说的方法比拟 2 、整合实现所有可IT之家工具界说的查察成果的存储dbo.usp_helptext2 3、dbo.helptext2的选择性测试 4、总结语 5、参考清单列表 1、sql server查察可IT之家工具界说的方法比拟 上一篇博文重构sqlserver的sys.helptext存储中写了sys.helptext的限制和输格外式每行自带char(13)和char(10)这两个字符。

岂论是系统界说的照旧用户界说的,@chaType = 。

这个缺点可以从通过措施编码实现获得完美浮现,不外为了查询的便利性,@nvcComputedColumnName AS NVARCHAR(128) = NULL-- 计较列名称(假如@nvcObjectName的工具范例为U, U。

可是其输格外式有限制:1、每行最多225双字节字标记, -1,为了将可IT之家工具界说查询方法研究透彻, 7、sys.sp_helpttext和object_definition有个成果的限制:1、在SSMS客户端中假如利用字符串范例变量吸收返回的而功效,只能在sys.server_triggers查询到, 2、sys.sql_modules包罗所有用户界说的可IT之家工具的。

为了办理这个不敷,以下表格列出了查询可IT之家工具界说的差异方法的却别和对可IT之家工具界说查察的支持水平。

我们将整合这些成果来封装在一个存储(其名称为dbo.usp_helptext2),可以辅佐到需要的人,有大概受制于SSMS客户端针对字符串变量的最大限制(sql server 2012中的最大限制是43679双字节字符长度)不能全部输出到客户端,由于处事器触发器自己属于处事器的, 3、dbo.helptext2的选择性测试 用户界说查抄约束测试: 用户界说约束测试: 系统界说存储测试: 用户界说计较列测试: 数据库DDL触发器测试 处事器触发器测试: 其他工具范例的测试不在全部罗列, 1);IF (@nvcComputedColumnName N) -- 获取计较列界说BEGINIF (@chaType NOT IN (S, FN,也在object_id函数中做了限制。

Nusp_helptext2, 2 、整合实现所有可IT之家工具界说的查察成果的存储dbo.usp_helptext2 通过以上几种方法的比拟, P) IS NOT NULLBEGINDROP PROCEDURE [dbo].[usp_helptext2];ENDGO --==================================-- 成果: 查察可IT之家工具界说-- 说明: 支持用户界说范例。

这次进修也发明数据库DDL触发器在sys.object是无法查察到的, RF,我们可以看到谁人方法都不能将以上表格中列出的工具范例的界说全部都满意,虽然也存在缺点就是可IT之家工具界说输出到SSMS客户端高出最大限制(SQL Server 2012情况中的时 43679双字节字符长度 )就要呈现截断, V)AND [name] = PARSENAME(@nvcObjectName, N);DECLARE @tntRetVal AS TINYINT;SET @tntRetVal = 0;DECLARE @tblObjDef AS TABLE ([Text] NVARCHAR(1000) NULL);DECLARE@intObjectID AS INT, 3、sys.system_sql_modules不支持系统界说的范例为C、D、R、TR的工具,前提是以上表格中的可IT之家工具范例界说,也能简朴些的,需要留意的一点就是处事器触发器原来不是某个数据库中的工具的,假如不想查察计较列和处事器触发器的界说以外的所有可IT之家工具范例的界说,stand-alone) D 支持 支持 不支持 支持 支持 SQL_SCALAR_FUNCTION FN 支持 支持 支持 支持 支持 SQL_INLINE_TABLE_VALUED_FUNCTION IF 支持 支持 支持 支持 支持 SQL_STORED_PROCEDURE P 支持 支持 支持 支持 支持 RULE(old-style,这个sql server团队自己也是用了系统表sys.sysschobjs、sys.syspalnames 、sys.syspalvalues, 但愿这个整合的查察可IT之家工具界说的存储,这次整合也就是将分手在差异处所的聚合在一起提供统一进口来处理惩罚,发起利用object_definition函数,这从逻辑长举办了疏散。

-1。

需要在sys.triggers或sys.all_objects目次视图中查察到, N)FROM @tblObjDef;ENDELSE IF (@intObjectID 0) -- 获取除计较列和处事器触发器以外的所有工具范例的界说BEGINSET @nvcText = OBJECT_DEFINITION(@intObjectID);IF(@@ROWCOUNT = 0)BEGINSET @tntRetVal = 1;ENDENDELSE IF (@intObjectID = 0) -- 实验获取处事器触发器界说BEGINSELECT@nvcText = T1.[definition]FROM [sys].[server_sql_modules] AS T1INNER JOIN [sys].[server_triggers] AS T2ON [T1].[object_id] = [T2].[object_id]WHERE T2.[name] = @nvcObjectName;IF(@@ROWCOUNT = 0)BEGINSET @tntRetVal = 1;ENDENDSELECT@nvcText AS [Text];RETURN(@tntRetVal);ENDGO 以上存储dbo.usp_helptext2可以完全实现以上表格的所有可IT之家工具界说查察。

成果整合的存储进程T-SQL代码如下:IF OBJECT_ID(N[dbo].[usp_helptext2], U,可以支持的工具范例为(C、D、FN、IF、P、R、RF、TF、TR、U、V),我们这次封装的存储实现处事器触发器界说查察, 5、参考清单列表 https://msdn.microsoft.com/en-us/library/ms176112.aspx https://msdn.microsoft.com/en-us/library/ms175081.aspx https://msdn.microsoft.com/en-us/library/ms188034.aspx https://msdn.microsoft.com/en-us/library/ms184389.aspx https://msdn.microsoft.com/en-us/library/ms176090.aspx https://msdn.microsoft.com/en-us/library/ms188746.aspx https://msdn.microsoft.com/en-us/library/ms176054.aspx https://msdn.microsoft.com/en-us/library/ms187794.aspx 。

可以运行于SQL Server 2005+-- 建设: yyyy-MM-dd hh:mm-hh:mm XXX 建设内容描写-- 修改: yyyy-MM-dd hh:mm-hh:mm XXX 修改内容描写--==================================CREATE PROCEDURE [dbo].[usp_helptext2](@nvcObjectName AS NVARCHAR(776)-- 工具名称,@chaType = [type]FROM [sys].[all_objects]WHERE[type] IN (C,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/sql/mssql/12841.shtml

相关文章

风云图片

推荐阅读

返回mssql频道首页